package com.quartet.modules.alarm.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 安全报警处理列表(TOtherAlarmInfo)表实体类
 *
 * @author makejava
 * @since 2021-05-18 09:44:33
 */
@Data
@ApiModel(value = "安全报警处理列表")
public class TVehicleSecurityAlarmProcessingResponseDto implements Serializable {

    /**
     * @Fields serialVersionUID
     *
     */
    private static final long serialVersionUID = -4635691899541349301L;

    /**
     * 车牌号
     */
    @ApiModelProperty(value = "车牌号")
    private String carNumber;

    /**
     * 所属客户编码
     */
    @ApiModelProperty(value = "所属客户编码")
    private String customerCode;

    /**
     * 所属客户名称
     */
    @ApiModelProperty(value = "所属客户名称")
    private String customerName;

    /**
     * 车辆编码
     */
    @ApiModelProperty(value = "车辆编码")
    private String vehicleCode;

    /**
     * 驾驶员姓名
     */
    @ApiModelProperty(value = "驾驶员姓名")
    private String driverName;

    /**
     * 驾驶员手机号码
     */
    @ApiModelProperty(value = "驾驶员手机号码")
    private String driverPhone;

    /**
     * 报警类型
     */
    @ApiModelProperty(value = "报警类型")
    private String alarmType;

    /**
     * 报警类型描述
     */
    @ApiModelProperty(value = "报警类型描述")
    private String alarmTypeLabel;

    /**
     * 报警数
     */
    @ApiModelProperty(value = "报警数")
    private int alarmNum;

    /**
     * 报警时间
     */
    @ApiModelProperty(value = "报警时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime alarmTime;

    /**
     * 首次报警时间
     */
    @ApiModelProperty(value = "首次报警时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime firstAlarmTime;

    /**
     * 末次报警时间
     */
    @ApiModelProperty(value = "末次报警时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime lastAlarmTime;

    /**
     * 报警位置
     */
    @ApiModelProperty(value = "报警位置")
    private String position;

    /**
     * 末次报警位置
     */
    @ApiModelProperty(value = "末次报警位置")
    private String lastPosition;

    /**
     * 报警处理人
     */
    @ApiModelProperty(value = "报警处理人")
    private String alarmHandler;

    /**
     * 报警处理内容
     */
    @ApiModelProperty(value = "报警处理内容")
    private String alarmProcessContent;

    /**
     * 报警处理时间
     */
    @ApiModelProperty(value = "报警处理时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime handlerTime;

    public String  getVehicleAlarmType(){
        return this.vehicleCode+this.alarmType;
    }
}